; stream

; 记忆化
(define (memo-proc proc)
    (let ((already-run? nil) (result nil))
      (lambda ()
        (if (not already-run?)
            (sequence
             (set! result (proc))
             (set! already-run? (not nil))
             result)
            result))))

; 过程与数据之间没有明显的分界线
; 把数据结构组织的像一个过程，它其中就有某种控制结构，这就是流的本质